The complete set of processes that run in a modern computer is considerable and growing at an astounding rate. Of present interest is operating system (OS) software and the application software that runs “above it”. A modern OS is extremely complex. For discussion we can use the family of Windows™ operating systems offered by Microsoft Corporation of Redmond, Wash. as an example. This family currently includes Windows XP, offered in Home, Professional, Media, Tablet, and CE (personal digital assistant (PDA)) editions. This family also includes Windows Server 2003, also offered in multiple editions. While the number of OSs and their variations is mentally manageable, the variety of applications software today is simply staggering.
Unfortunately, despite all of the power and speed that our modern computers provide, in fact, largely because of these, there are still processes that can inappropriately be run in computers. That is, processes that can be run that are malicious, dangerous, or simply undesirable. The most common example of malicious software is viruses, but spyware and adware are rapidly growing concerns, and malicious software now takes on so many forms that it is been generically termed “malware”. In general, viruses are software that computer users do not want in the first place, and then want to be quickly rid of if one is present. In contrast, dangerous software has desirable and valid uses, when employed by skilled and well intended people. Even computer users with limited skill usually appreciate that storage media formatting and file attribute changing utility software is dangerous. Finally, there is software that is simply inappropriate because an authority has deemed it to be. For instance, an individual at home may play computer games that are part of their computer's operating system's default installation package. This hypothetical individual may also download music, with or without regard for the copyrights applying to it. At work, however, this hypothetical individual's employer probably objects to the playing of computer games and wants to closely control the downloading and playing of music.
Of course, some tools to handle malicious software already exist. For instance, anti-virus software for computers is a thriving business today. But the reasons for that include limitations in that software and the number and speed with which ways to avoid such software are developed. The same is true for other forms of malware.
Dangerous and undesirable software presents a slightly different situation. For example, the hypothetical employer introduced above could simply take the extra effort to selectively disable or remove games, multimedia retrieval/playback applications, etc. But this may not be practical enterprise-wide, say, including a marketing department where multimedia software is a valid tool. It also is not practical for utility programs that may later be needed. Nonetheless, labor intensive tailoring of individual computer systems, compromises, or simply ignoring the problem are still the usual approaches to dealing with dangerous and undesirable software.
Accordingly, techniques and tools are still needed to control the running of processes that are malicious, dangerous, and undesirable. In particular, such techniques and tools should preferably work all of these, without any special regard to the underlying nature of software. These techniques and tools should preferably also be usable if processes from such software are already running, to stop these processes and prevent them from running in the future. And these techniques and tools should preferably further be able to controllably prevent the introduction of malicious, dangerous, or undesirable software into computers in the first place.